Correctness of Binding-Time Analysis
نویسنده
چکیده
A binding-time analysis is correct if it always produces consistent binding-time information. Consistency prevents partial evaluators from “going wrong”. A sufficient and decidable condition for consistency, called well-annotatedness, was first presented by Gomard and Jones. In this paper we prove that a weaker condition implies consistency. Our condition is decidable, subsumes the one of Gomard and Jones, and was first studied by Schwartzbach and the present author. Our result implies the correctness of the binding-time analysis of Mogensen, and it indicates the correctness of the core of the binding-time analyses of Bondorf and Consel. We also prove that all partial evaluators will on termination have eliminated all “eliminable”-marked parts of an input which satisfies our condition. This generalizes a result of Gomard. Our development is for the pure λ-calculus with explicit binding-time annotations.
منابع مشابه
Correctness of a region-based binding-time analysis
A binding-time analysis is the rst pass of an ooine partial evaluator. It determines which parts of a program may be executed at specialization time. Region-based binding-time analysis applies to higher-order programming languages with rst-class references. The consideration of eeects in the determination of binding time properties makes it possible to have a partial evaluator perform assignmen...
متن کاملOn-Line & Off-Line Partial Evaluation: Semantic Specifications and Correctness Proofs
This paper presents semantic speciications and correctness proofs for both on-line and oo-line partial evaluation of strict rst-order functional programs. To do so, our strategy consists of deening a core semantics as a basis for the speciication of three non-standard evaluations: instrumented evaluation, on-line and oo-line partial evaluation. We then use the technique of logical relations to ...
متن کاملPartial Evaluation with Partially Static Operations
Partial evaluation distinguishes between different binding times when manipulating values in a program. A partial evaluator performs evaluation steps on values with a static binding time whereas it generates code for values with a dynamic binding time. Binding time descriptions have evolved from monolithic to fine grained, partially static data structures where different components may have dif...
متن کاملBinding-Time Analysis for Both Static and Dynamic Expressions 1 Binding-Time Analysis for Both Static and Dynamic Expressions
This paper presents a specializer and a binding-time analyzer for a functional language where expressions are allowed to be used as both static and dynamic. With both static and dynamic expressions, data structures can be statically accessed while they are residualized at the same time. Previously, such data structures were treated as completely dynamic, which prevented their components from be...
متن کاملInquiry into Scientific Correctness of the Elementary School Farsi Textbooks
Inquiry into Scientific Correctness of the Elementary School Farsi Textbooks H. Ghamari, Ph.D.* Scientific validity or correctness is of paramount importance when it comes to the contents of textbooks used in elementary schools, as the very foundations of learners’ knowledge is constructed therein. Hence, an analysis of these contents from this perspective is necessary in order to guide...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. Funct. Program.
دوره 3 شماره
صفحات -
تاریخ انتشار 1993